package com.yxinsur.imc.business.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import com.yxinsur.imc.common.core.domain.BaseImcEntity;
import lombok.Data;
import lombok.ToString;

import java.util.Date;

/**
 * 合同对象 imc_contract
 *
 * @author imc
 * @date 2021-04-22
 */
@Data
@ToString
public class ImcContract extends BaseImcEntity {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 供应商ID
     */
    @Excel(name = "供应商ID")
    private Long repoSupplierId;

    /**
     * 协议名称
     */
    @Excel(name = "协议名称")
    private String contractName;

    /**
     * 合同开始日期(含)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始日期(含)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractStartDate;

    /**
     * 合同截止日期(含)
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同截止日期(含)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractEndDate;

    /**
     * 投保日期是否和结算月为同月(-1上月，0同月,1次月)
     */
    @Excel(name = "投保日期是否和结算月为同月(-1上月，0同月,1次月)")
    private Integer applyWithSameMonth;

    /**
     * 投保截止日期
     */
    @Excel(name = "投保截止日期")
    private String applyEndDate;

    /**
     * 承保日期是否和结算月为同月(-1上月，0同月,1次月)
     */
    @Excel(name = "承保日期是否和结算月为同月(-1上月，0同月,1次月)")
    private Integer insureWithSameMonth;

    /**
     * 承保截止日期
     */
    @Excel(name = "承保截止日期")
    private String insureEndDate;

    /**
     * 回执日期是否和结算月为同月(-1上月，0同月,1次月)
     */
    @Excel(name = "回执日期是否和结算月为同月(-1上月，0同月,1次月)")
    private Integer ackWithSameMonth;

    /**
     * 回执截止日期
     */
    @Excel(name = "回执截止日期")
    private String ackEndDate;

    /**
     * 合同影像件URL
     */
    @Excel(name = "合同影像件URL")
    private String contractUrl;

    /**
     * 是否主协议
     */
    @Excel(name = "是否主协议")
    private Long isMaster;

    /**
     * 主协议主键(如为附加协议)
     */
    @Excel(name = "主协议主键(如为附加协议)")
    private Long masterContractId;

    /**
     * 是否包含该供应商的全部产品（默认全部产品
     */
    @Excel(name = "是否包含该供应商的全部产品（默认全部产品")
    private Integer isContainAllIns;

    /**
     * 租户id,一个租户id唯一对一个机构id（默认机构id为根节点id暨法人机构）
     */
    @Excel(name = "租户id,一个租户id唯一对一个机构id", readConverterExp = "默=认机构id为根节点id暨法人机构")
    private Long tenantId;

}
